package com.yunke.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.yunke.common.base.YunkeBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 用户实体类
 * 
 * @author yunke
 * @since 1.0.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dzuser")
public class YunkeUser extends YunkeBaseEntity {

    /**
     * 用户ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户名
     */
    private String username;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 性别 1-男 2-女
     */
    private Integer sex;

    /**
     * 性别 1-男 2-女 (兼容字段)
     */
    private Integer gender;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 个性签名
     */
    private String signature;

    /**
     * VIP等级
     */
    private Integer vipLevel;

    /**
     * 用户等级
     */
    private Integer userLevel;

    /**
     * 经验值
     */
    private Integer experience;

    /**
     * 是否实名认证
     */
    private Boolean isRealNameAuth;

    /**
     * 是否认证
     */
    private Boolean isAuth;

    /**
     * 邀请码
     */
    private String inviteCode;

    /**
     * 状态 1-启用 0-禁用
     */
    private Integer status;

    /**
     * 最后登录IP
     */
    private String lastLoginIp;

    /**
     * 注册IP
     */
    private String registerIp;

    /**
     * 最后登录时间
     */
    private Long lastLoginTime;

    /**
     * 余额
     */
    private BigDecimal balance;

    /**
     * 上级用户ID
     */
    private Long pid;

    /**
     * 全部上级ID路径
     */
    private String pids;

    /**
     * 会员等级ID
     */
    private Long levelId;

    /**
     * 等级名称
     */
    private String levelName;

    /**
     * 生日
     */
    private String birthday;

    /**
     * 省份名称
     */
    private String provinceName;

    /**
     * 城市名称
     */
    private String cityName;

    /**
     * 区域名称
     */
    private String areaName;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 电话区号
     */
    private String phoneArea;

    /**
     * 经度
     */
    private String longitude;

    /**
     * 纬度
     */
    private String dimension;

    /**
     * 公众号用户ID
     */
    private Long userGzhId;

    /**
     * 小程序用户ID
     */
    private Long userXcxId;

    /**
     * 关注数
     */
    private Integer follow;

    /**
     * 粉丝数
     */
    private Integer fans;

    /**
     * 总收入
     */
    private BigDecimal totalIncome;

    /**
     * 搭子收入
     */
    private BigDecimal daziIncome;

    /**
     * 服务收入
     */
    private BigDecimal serviceIncome;

    /**
     * 社区收入
     */
    private BigDecimal communityIncome;

    /**
     * 一级佣金收入
     */
    private BigDecimal firstCommissionIncome;

    /**
     * 二级佣金收入
     */
    private BigDecimal secondCommissionIncome;

    /**
     * 剩余收入
     */
    private BigDecimal surplusIncome;

    /**
     * 身份证正面
     */
    private String idCardFront;

    /**
     * 身份证背面
     */
    private String idCardBack;

    /**
     * 身份证号码
     */
    private String idCardNumber;

    /**
     * 实名认证状态 0-未认证 1-审核中 2-认证通过
     */
    private Integer isAuthentication;

    /**
     * 已提现金额
     */
    private BigDecimal withdrawnAmount;

    /**
     * 身高
     */
    private String height;

    /**
     * 学校
     */
    private String school;

    /**
     * 语音介绍
     */
    private String speech;

    /**
     * 相册图片
     */
    private String img;

    /**
     * 标签
     */
    private String label;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 服务次数
     */
    private Integer serviceNumber;

    /**
     * 介绍
     */
    private String introduce;

    /**
     * 认证图片
     */
    private String authenticationImg;

    /**
     * 封面图片
     */
    private String coverImage;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 背景图片
     */
    private String backgroundImg;

    /**
     * 是否在线 1-在线
     */
    private Integer isOnline;

    /**
     * 备注
     */
    private String remark;

    /**
     * VIP收入
     */
    private BigDecimal vipIncome;

    /**
     * 邀请小程序码
     */
    private String inviteXcxUrl;

    /**
     * 启用状态 0-禁用 1-启用
     */
    private Integer disable;
} 